#include <iostream>

using namespace std;

//多继承语法
//C++允许一个类继承多个类
//语法：class 子类:继承方式 父类1，继承方式 父类2...
//多继承可能会引发父类中有同名成员出现，需要加作用域区分
//C++实际开发中不建议用多继承
class Base1 {
public:
    int a;

    Base1() {
        a = 100;
    }
};

class Base2 {
public:
    int a;

    Base2() {
        a = 200;
    }
};

class Son : public Base1, public Base2 {
public:
    int c;
    int d;

    Son() {
        c = 300;
        d = 400;
    }
};
void test1(){
    Son son;
    cout<<"sizeof(son)="<< sizeof(son)<<endl;
    //当父类中出现同名成员，需要加作用域区分
    cout<<"Base1:a="<<son.Base1::a<<endl;
    cout<<"Base2:a="<<son.Base2::a<<endl;
}
int main() {
    test1();
    return 0;
}